home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-05 | 2.6 KB | 115 lines | [TEXT/PJMM] |
- unit MyFSAsyncs;
-
- interface
-
- type
- XParamBlockRec = record
- a5: ptr;
- completion: ProcPtr;
- pb: ParamBlockRec;
- end;
- XParmBlkPtr = ^XParamBlockRec;
-
- procedure FSReadAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- procedure FSWriteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- procedure FSCloseAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- procedure FSDeleteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- procedure FSCatMoveAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- procedure FSRenameAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- procedure FSExchangeFilesAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
-
- implementation
-
- uses
- PreCompletion, QLowLevel;
-
- {$PUSH}
- {$D-}
-
- procedure FSReadAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- var
- junk: OSErr;
- prp: XParmBlkPtr;
- begin
- prp := XParmBlkPtr(ord(pbp) - 8);
- prp^.a5 := GetRegA5;
- prp^.completion := comp;
- pbp^.ioCompletion := @PreCompletion;
- junk := PBReadAsync(pbp);
- end;
-
- procedure FSWriteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- var
- junk: OSErr;
- prp: XParmBlkPtr;
- begin
- prp := XParmBlkPtr(ord(pbp) - 8);
- prp^.a5 := GetRegA5;
- prp^.completion := comp;
- pbp^.ioCompletion := @PreCompletion;
- junk := PBWriteAsync(pbp);
- end;
-
- procedure FSCloseAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- var
- junk: OSErr;
- prp: XParmBlkPtr;
- begin
- prp := XParmBlkPtr(ord(pbp) - 8);
- prp^.a5 := GetRegA5;
- prp^.completion := comp;
- pbp^.ioCompletion := @PreCompletion;
- junk := PBCloseAsync(pbp);
- end;
-
- procedure FSRenameAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- var
- junk: OSErr;
- prp: XParmBlkPtr;
- begin
- prp := XParmBlkPtr(ord(pbp) - 8);
- prp^.a5 := GetRegA5;
- prp^.completion := comp;
- pbp^.ioCompletion := @PreCompletion;
- junk := PBHRenameAsync(HParmBlkPtr(pbp));
- end;
-
- procedure FSDeleteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- var
- junk: OSErr;
- prp: XParmBlkPtr;
- begin
- prp := XParmBlkPtr(ord(pbp) - 8);
- prp^.a5 := GetRegA5;
- prp^.completion := comp;
- pbp^.ioCompletion := @PreCompletion;
- junk := PBHDeleteAsync(HParmBlkPtr(pbp));
- end;
-
- procedure FSCatMoveAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- var
- junk: OSErr;
- prp: XParmBlkPtr;
- begin
- prp := XParmBlkPtr(ord(pbp) - 8);
- prp^.a5 := GetRegA5;
- prp^.completion := comp;
- pbp^.ioCompletion := @PreCompletion;
- junk := PBCatMoveAsync(CMovePBPtr(pbp));
- end;
-
- procedure FSExchangeFilesAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
- var
- junk: OSErr;
- prp: XParmBlkPtr;
- begin
- prp := XParmBlkPtr(ord(pbp) - 8);
- prp^.a5 := GetRegA5;
- prp^.completion := comp;
- pbp^.ioCompletion := @PreCompletion;
- junk := PBExchangeFilesAsync(HParmBlkPtr(pbp));
- end;
-
- {$POP}
-
- end.